// pages/mine/index.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    avatar:'',
    nickname:'尚未登录',
    openid:''
  },

  handleLogin(){
    // 0. 获取用户微信信息（头像、昵称），目前已经使用

    // 1. 获取code码
    wx.login({
      success: ({code}) => {
        console.log(code);
        //2. 携带code码给服务端
        wx.request({
          url: 'http://www.vip.com/login',  //服务端提供的登录接口
          data:{
            code  
          },
          success:(res)=>{
            // 3. 客户端拿到登录成功后服务端下发的openid、及其他附带信息（昵称、头像）
            // 4. 将用户信息进行本地缓存，方便后续业务逻辑使用
          }
        })
      },
    })
  },
  async handleCloudFuc(){
    let res = await wx.cloud.callFunction({
      name:'sum',
      data:{a:123,b:456}
    })
    console.log('云函数调用结果',res);
  },
  async handleCloudLogin(ev){
    // 1. 获取用户头像
    console.log(ev);
    let {avatarUrl} = ev.detail
    // 2. 随机生成昵称
    let n1 = Math.round(Math.random()*10000+20000)
    let n2 = Math.round(Math.random()*10000+20000)
    let n3 = Math.round(Math.random()*10000+20000)
    let nickname = String.fromCharCode(n1) + String.fromCharCode(n2) + String.fromCharCode(n3)
    
    // 3. 调用登录云函数
    let res = await wx.cloud.callFunction({
      name:'login',
      data:{avatar:avatarUrl,nickname}
    })
    console.log('登录成功的结果',res);

    // 4. 本地显示用户信息
    this.setData(res.result)

    //5. 本地持久化存储用户信息
    wx.setStorage({
      key:'userinfo',
      data:res.result
    })
    
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    // 6. 从本地存储提取并展示用户信息
    wx.getStorage({
      key:'userinfo',
      success:(res)=>{
        console.log('成功提取本地存储数据',res)
        this.setData(res.data)
      },
      fail:(err)=>{
        console.log('提取本地存储失败',err)
      }
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})